聚类
以距离为特征,通过自下而上的迭代(距离比较),把一群样本分成k个类别的过程。最终的聚类中心点离类别里所有样本的距离之和必须是最小的。
K-Means聚类
运作原理
经典的K-Means聚类方法,是这样运作的:
1、在样本中随机选择K个点,作为每个类别的初始中心点。再计算每一个样本点离这K个中心点的距离,选出其中距离最近的中心点,这个样本就归属于该中心点的类别(也叫簇号或堆类别)。
2、舍弃原来的初始中心点,在划分好的K个类别里分别计算出新的中心点,使得这些中心点距离他类别里的所有样本的距离之和最小;
3、判断新中心点(也叫质心)与旧中心点是否一样。如果一样,代表这个中心稳定了,没必要继续迭代,如不一样则重新计算所有样本离这K个新的中心点的距离并进行比较,选出其中最近的距离并归到这个新的中心点的类别里,迭代这个步奏,直到一样则完成(即收敛)。
想看详细的迭代过程可以参考这里:https://zhuanlan.zhihu.com/p/24207557
缺点
k-means的聚类规则很容易陷入局部最小,陷入局部最小说简单的就是随机初始的质心分布的不是太好,最后迭代终止后,两个质心有可能在同一堆数据上,而另外一个质心成了另外两堆离的近样本的唯一质